package com.base.common.edu.mapper;

import com.base.common.edu.entity.LoginFail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Author Maple.Chen
 * @Description 数据交互层 - 登录失败信息管理
 * @Date 15:05 2021/3/2
 **/
@Mapper
@Repository
public interface LoginFailMapper {

    // 登录失败信息新增
    int addLoginFail(@Param("lf") LoginFail loginFail);

    /**
     * 登录失败信息查询
     * 根据登录的账号和登录的ip查询，当返回的记录数大于等于3时则不允许用户登录。解决办法，换个ip，并使用正确的账号和密码。
     **/
    List<LoginFail> queryLoginFailRecords(@Param("lf") LoginFail loginFail);

    // 查询某用户一小时内，在某ip下登录失败的记录数
    int queryLoginFailByUserAndIp(@Param("user__name") String user__name, @Param("ip__address") String ip__address);

}
